const svgCaptcha = require('svg-captcha');

exports.getCaptcha = function(req, res, next) {
  initCaptcha(req, res, next);
}

/**
 * 初始化并生成验证码
 * @param {Object} req - 请求对象
 * @param {Object} res - 响应对象
 * @param {Function} next - 下一个中间件函数
 */
// function initCaptcha(req, res, next) {
//   //创建 captcha 实例
//   const captcha = svgCaptcha.create({
//     size: 4, // 验证码长度
//     ignoreChars: '0o1i', // 验证码字符中排除 0o1i
//     noise: 5, // 干扰线条的数量
//     width: 90,
//     height: 40,
//     color: true, // 验证码的字符是否有颜色，默认没有，如果设定了背景，则默认有
//     background: '#ffff' // 验证码图片背景颜色 
//   })
//   // 保存验证码
//   req.session.captchaCode = captcha.text.toLowerCase();
//   // 输出
//   res.type('svg'); // 响应类型
//   res.status(200).send(captcha.data)
// }

function initCaptcha(req, res, next) {
  const captchaArray = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
  let captchaCode = ''
  for (let i = 0; i < 4; i++) {
    captchaCode += captchaArray[Math.floor(Math.random() * captchaArray.length)]
  }
  // 保存验证码

  req.session['captchaCode'] = captchaCode.toLowerCase();
  // 输出
  res.resend.sendJson(req,res, {
    status: 200,
    code: 'SUCCESS',
    data: captchaCode,
    msg: '验证码获成功'
  })
}